<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Weave Avisynth Filter</title>
<link rel="stylesheet" type="text/css" href="../../avisynth.css">
</head>
<body >
<h2>Weave</h2>
<p><code>Weave </code>(<var>clip</var>)</p>
<p><code>Weave</code> is the opposite of <code><a href="separatefields.htm">SeparateFields</a></code>:
it takes pairs of fields from the input video clip and combines them together
to produce interlaced frames. The new clip has half the frame rate and frame
count. <tt>Weave</tt> uses the frame-parity information in the source clip to
decide which field to put on top. If it gets it wrong, use
<code><a href="parity.htm">ComplementParity</a></code> beforehand or
<a href="swapfields.htm">SwapFields</a> afterwards.</p>
<p>
All AviSynth filters keep track of field parity, so <tt><code>Weave</code></tt> will always
join the fields together in the proper order. If you want the other order, you'll
have to use <a href="complementparity.htm"><code>ComplementParity</code></a>,
<code><a href="parity.htm">AssumeTFF</a></code> or
<code><a href="parity.htm">AssumeBFF</a></code>  beforehand or
<a href="swapfields.htm"><code>SwapFields</code></a>
afterwards.</p>
<p>
From verions 2.5.6 this filter raises an exception if the clip is already frame-based.
You may want to use <code><a href="parity.htm">AssumeFieldBased</a></code>
to force weave a second time. Prior versions did a no-op for materials that was
already frame-based.</p>
<p>
<kbd>$Date: 2005/10/03 16:49:04 $</kbd></p>
<FORM>
<INPUT TYPE="Button" VALUE="Back"
onClick="history.go(-1)">
</form>
</body>
</html>
